﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml.Linq;

namespace PIT.Labs.ProjectRepository.Owl2DotNet.Xsd
{
    class XsdObjectProperty: XsdEntityBase, IObjectProperty
    {
        internal List<XsdClass> domain;
        internal List<XsdClass> range;
        private XsdClass xsdClass;

        public XsdObjectProperty(XsdOntology o, string uri, XsdClass xsdClass, XElement type) : base(o, uri)
        {
            domain = new List<XsdClass>();
            range = new List<XsdClass>();

            o.Insert(this);
        }

        public IObjectProperty SubProperties
        {
            get { throw new NotImplementedException(); }
        }

        public IObjectProperty SuperProperties
        {
            get { throw new NotImplementedException(); }
        }

        public IEnumerable<IClass> Domain
        {
            get { return domain.Select(x => (IClass)x); }
        }

        public IEnumerable<IClass> Range
        {
            get { return domain.Select(x => (IClass)x); }
        }

        public PropertyCharacteristics Characteristics
        {
            get { throw new NotImplementedException(); }
        }
    }
}
